--// Instances local subspace_tripmine = Instance.new("Tool") subspace_tripmine.Grip = CFrame.fromMatrix(Vector3.new(-0.5, 0, 0), Vector3.new(0, -0, 1), Vector3.new(0, 1, 0), Vector3.new(-1, 0, 0)) subspace_tripmine.GripForward = Vector3.new(1, -0, -0) subspace_tripmine.GripPos = Vector3.new(-0.5, 0, 0) subspace_tripmine.GripRight = Vector3.new(0, -0, 1) subspace_tripmine.TextureId = "http://www.roblox.com/asset/?id=11987521" subspace_tripmine.Name = "SubspaceTripmine" subspace_tripmine.Parent = owner.Backpack local handle = Instance.new("Part") handle.BottomSurface = Enum.SurfaceType.Smooth handle.BrickColor = BrickColor.new(1, 0, 0.7490196228027344) handle.CFrame = CFrame.fromMatrix(Vector3.new(-2, 3.4000000953674316, 10), Vector3.new(1, 0, 0), Vector3.new(0, 1, 0), Vector3.new(0, 0, 1)) handle.Color = Color3.new(1, 0, 0.74902) handle.Size = Vector3.new(2, 2, 2) handle.TopSurface = Enum.SurfaceType.Smooth handle.Name = "Handle" handle.Parent = subspace_tripmine local mesh = Instance.new("SpecialMesh") mesh.MeshType = Enum.MeshType.FileMesh mesh.MeshId = "http://www.roblox.com/asset/?id=11954776" mesh.TextureId = "http://www.roblox.com/asset/?id=11954766" mesh.Scale = Vector3.new(0.699999988079071, 0.699999988079071, 0.699999988079071) mesh.Parent = handle handle.Touched:Connect(function()end) local touch_interest = handle:WaitForChild("TouchInterest") local local_gui = Instance.new("LocalScript") local_gui.Name = "Local Gui" local_gui.Parent = subspace_tripmine local plant_bomb = Instance.new("Script") plant_bomb.Name = "PlantBomb" plant_bomb.Parent = subspace_tripmine local subspace_mine = Instance.new("Script") subspace_mine.Disabled = true subspace_mine.Name = "SubspaceMine" subspace_mine.Parent = subspace_tripmine --//Modules local modules = {} --// Scripts -- Local Gui task.spawn(function() local script = local_gui local oldreq = require local function require(target) if modules[target] then return modules[target]() end return oldreq(target) end local localGui = NLS([[ local Tool = script.Parent; local enabled = true local function onButton1Down(mouse) if not enabled then return end enabled = false mouse.Icon = "rbxasset://textures\\ArrowFarCursor.png" wait(3) mouse.Icon = "rbxasset://textures\\ArrowCursor.png" enabled = true end local function onEquippedLocal(mouse) if mouse == nil then print("Mouse not found") return end mouse.Icon = "rbxasset://textures\\ArrowCursor.png" mouse.Button1Down:connect(function() onButton1Down(mouse) end) end Tool.Equipped:connect(onEquippedLocal) ]], subspace_tripmine) localGui.Name = "Local Gui" end) -- PlantBomb task.spawn(function() local script = plant_bomb local oldreq = require local function require(target) if modules[target] then return modules[target]() end return oldreq(target) end NS([[ local Tool = script.Parent --local bombScript = script.Parent.SubspaceMine local function prepEx(mine) Mine = mine DunDun = Instance.new("Sound") DunDun.SoundId = "http://www.roblox.com/asset/?id=11984254" DunDun.Parent = Mine SubspaceExplosion = Instance.new("Sound") SubspaceExplosion.SoundId = "http://www.roblox.com/asset/?id=11984351" SubspaceExplosion.Parent = Mine Calibrate = Instance.new("Sound") Calibrate.SoundId = "http://www.roblox.com/asset/?id=11956590" Calibrate.Looped = true Calibrate.Parent = Mine Calibrate:Play() local calibration_time = 2 -- needs to be still/untouched for this long before calibrating local cur_time = 0 local max_life = 120 -- these things last for 2 minutes on their own, once activated local calibrated = false local connection = nil function activateMine() for i=0,1,.1 do Mine.Transparency = i wait(.05) end calibrated = true Calibrate:Stop() end function pulse() DunDun:Play() for i=.9,.5,-.1 do Mine.Transparency = i wait(.05) end for i=.5,1,.1 do Mine.Transparency = i wait(.05) end end function explode() connection:disconnect() for i=1,0,-.2 do Mine.Transparency = i wait(.05) end SubspaceExplosion:Play() local e = Instance.new("Explosion") e.BlastRadius = 16 e.BlastPressure = 1000000 e.Position = Mine.Position e.Parent = Mine local creator = script.Parent:findFirstChild("creator") e.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end) for i=0,1,.2 do Mine.Transparency = i wait(.05) end wait(4) Mine:Remove() end function update() if (calibrated == false) then if (Mine.Velocity.magnitude > .05) then cur_time = 0 end if (cur_time > calibration_time) then activateMine() end else -- calibrated mine if (math.random(1,20) == 2) then pulse() end if (cur_time > max_life) then pulse() Mine:Remove() end end end function OnTouch(part) if (calibrated == false) then cur_time = 0 else explode() end end function onPlayerBlownUp(part, distance, creator) if (part:getMass() < 300) then part.BrickColor = BrickColor.new(1032) local s = Instance.new("Sparkles") s.Parent = part game.Debris:AddItem(s, 5) end if creator ~= nil and part.Name == "Head" then local humanoid = part.Parent.Humanoid tagHumanoid(humanoid, creator) end end function tagHumanoid(humanoid, creator) -- tag does not need to expire iff all explosions lethal if creator ~= nil then local new_tag = creator:clone() new_tag.Parent = humanoid end end function untagHumanoid(humanoid) if humanoid ~= nil then local tag = humanoid:findFirstChild("creator") if tag ~= nil then tag.Parent = nil end end end connection = Mine.Touched:connect(OnTouch) while true do update() local e,g = wait(.5) cur_time = cur_time + e end end local function plant(pos) local vCharacter = Tool.Parent local vPlayer = game.Players:playerFromCharacter(vCharacter) local spawnPos = vCharacter.PrimaryPart.Position local bomb = Tool.Handle:Clone() bomb.CanCollide = true bomb.Transparency = 0 bomb.Position = pos bomb.Size = Vector3.new(2,2,2) bomb.Name = "SubspaceTripmine" bomb.Locked = true local creator_tag = Instance.new("ObjectValue") creator_tag.Value = vPlayer creator_tag.Name = "creator" creator_tag.Parent = bomb bomb.Parent = workspace.Terrain prepEx(bomb) end function onActivated() local character = Tool.Parent; local humanoid = character.Humanoid if humanoid == nil then print("Humanoid not found") return end local targetPos = humanoid.TargetPoint Tool.Handle.Transparency = 1 plant(Tool.Handle.Position) wait(3) Tool.Handle.Transparency = 0 end script.Parent.Activated:connect(onActivated) ]], subspace_tripmine) end)